{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Semantic segmentation of aerial images with deep networks\n",
    "\n",
    "This notebook presents a straightforward PyTorch implementation of a Fully Convolutional Network for semantic segmentation of aerial images. More specifically, we aim to automatically perform scene interpretation of images taken from a plane or a satellite by classifying every pixel into several land cover classes.\n",
    "\n",
    "As a demonstration, we are going to use the [SegNet architecture](http://mi.eng.cam.ac.uk/projects/segnet/) to segment aerial images over the cities of Vaihingen and Potsdam. The images are from the [ISPRS 2D Semantic Labeling dataset](http://www2.isprs.org/commissions/comm3/wg4/results.html). We will train a network to segment roads, buildings, vegetation and cars.\n",
    "\n",
    "This work is a PyTorch implementation of the baseline presented in [\"Beyond RGB: Very High Resolution Urban Remote Sensing With Multimodal Deep Networks \"](https://hal.archives-ouvertes.fr/hal-01636145), *Nicolas Audebert*, *Bertrand Le Saux* and *Sébastien Lefèvre*, ISPRS Journal, 2018."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Requirements\n",
    "\n",
    "This notebook requires a few useful libraries, e.g. `torch`, `scikit-image`, `numpy` and `matplotlib`. You can install everything using `pip install -r requirements.txt`.\n",
    "\n",
    "This is expected to run on GPU, and therefore you should use `torch` in combination with CUDA/cuDNN. This can probably be made to run on CPU but be warned that:\n",
    "  * you have to remove all calls to `torch.Tensor.cuda()` throughout this notebook,\n",
    "  * this will be very slow.\n",
    "  \n",
    "A \"small\" GPU should be enough, e.g. this runs fine on a 4.7GB Tesla K20m. It uses quite a lot of RAM as the dataset is stored in-memory (about 5GB for Vaihingen). You can spare some memory by disabling the caching below. 4GB should be more than enough without caching."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# imports and stuff\n",
    "import numpy as np\n",
    "from skimage import io\n",
    "from glob import glob\n",
    "from tqdm import tqdm_notebook as tqdm\n",
    "from sklearn.metrics import confusion_matrix\n",
    "import random\n",
    "import itertools\n",
    "# Matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "# Torch imports\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "import torch.utils.data as data\n",
    "import torch.optim as optim\n",
    "import torch.optim.lr_scheduler\n",
    "import torch.nn.init\n",
    "from torch.autograd import Variable"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Parameters\n",
    "\n",
    "There are several parameters than can be tuned to use this notebook with different datasets. The default parameters are suitable for the ISPRS dataset, but you can change them to work with your data.\n",
    "\n",
    "### Examples\n",
    "\n",
    "  * Binary classification: `N_CLASSES = 2`\n",
    "  * Multi-spectral data (e.g. IRRGB): `IN_CHANNELS = 4`\n",
    "  * New folder naming convention : `DATA_FOLDER = MAIN_FOLDER + 'sentinel2/sentinel2_img_{}.tif'`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Parameters\n",
    "WINDOW_SIZE = (256, 256) # Patch size\n",
    "STRIDE = 32 # Stride for testing\n",
    "IN_CHANNELS = 3 # Number of input channels (e.g. RGB)\n",
    "FOLDER = \"./ISPRS_dataset/\" # Replace with your \"/path/to/the/ISPRS/dataset/folder/\"\n",
    "BATCH_SIZE = 10 # Number of samples in a mini-batch\n",
    "\n",
    "LABELS = [\"roads\", \"buildings\", \"low veg.\", \"trees\", \"cars\", \"clutter\"] # Label names\n",
    "N_CLASSES = len(LABELS) # Number of classes\n",
    "WEIGHTS = torch.ones(N_CLASSES) # Weights for class balancing\n",
    "CACHE = True # Store the dataset in-memory\n",
    "\n",
    "DATASET = 'Vaihingen'\n",
    "\n",
    "if DATASET == 'Potsdam':\n",
    "    MAIN_FOLDER = FOLDER + 'Potsdam/'\n",
    "    # Uncomment the next line for IRRG data\n",
    "    # DATA_FOLDER = MAIN_FOLDER + '3_Ortho_IRRG/top_potsdam_{}_IRRG.tif'\n",
    "    # For RGB data\n",
    "    DATA_FOLDER = MAIN_FOLDER + '2_Ortho_RGB/top_potsdam_{}_RGB.tif'\n",
    "    LABEL_FOLDER = MAIN_FOLDER + '5_Labels_for_participants/top_potsdam_{}_label.tif'\n",
    "    ERODED_FOLDER = MAIN_FOLDER + '5_Labels_for_participants_no_Boundary/top_potsdam_{}_label_noBoundary.tif'    \n",
    "elif DATASET == 'Vaihingen':\n",
    "    MAIN_FOLDER = FOLDER + 'Vaihingen/'\n",
    "    DATA_FOLDER = MAIN_FOLDER + 'top/top_mosaic_09cm_area{}.tif'\n",
    "    LABEL_FOLDER = MAIN_FOLDER + 'gts_for_participants/top_mosaic_09cm_area{}.tif'\n",
    "    ERODED_FOLDER = MAIN_FOLDER + 'gts_eroded_for_participants/top_mosaic_09cm_area{}_noBoundary.tif'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualizing the dataset\n",
    "\n",
    "First, let's check that we are able to access the dataset and see what's going on. We use ```scikit-image``` for image manipulation.\n",
    "\n",
    "As the ISPRS dataset is stored with a ground truth in the RGB format, we need to define the color palette that can map the label id to its RGB color. We define two helper functions to convert from numeric to colors and vice-versa."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nRK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f6c89938e48>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ground truth in numerical format has shape (2566,1893) : \n",
      " [[3 3 3 ..., 3 3 3]\n",
      " [3 3 3 ..., 3 3 3]\n",
      " [3 3 3 ..., 3 3 3]\n",
      " ..., \n",
      " [2 2 2 ..., 1 1 1]\n",
      " [2 2 2 ..., 1 1 1]\n",
      " [2 2 2 ..., 1 1 1]]\n"
     ]
    }
   ],
   "source": [
    "# ISPRS color palette\n",
    "# Let's define the standard ISPRS color palette\n",
    "palette = {0 : (255, 255, 255), # Impervious surfaces (white)\n",
    "           1 : (0, 0, 255),     # Buildings (blue)\n",
    "           2 : (0, 255, 255),   # Low vegetation (cyan)\n",
    "           3 : (0, 255, 0),     # Trees (green)\n",
    "           4 : (255, 255, 0),   # Cars (yellow)\n",
    "           5 : (255, 0, 0),     # Clutter (red)\n",
    "           6 : (0, 0, 0)}       # Undefined (black)\n",
    "\n",
    "invert_palette = {v: k for k, v in palette.items()}\n",
    "\n",
    "def convert_to_color(arr_2d, palette=palette):\n",
    "    \"\"\" Numeric labels to RGB-color encoding \"\"\"\n",
    "    arr_3d = np.zeros((arr_2d.shape[0], arr_2d.shape[1], 3), dtype=np.uint8)\n",
    "\n",
    "    for c, i in palette.items():\n",
    "        m = arr_2d == c\n",
    "        arr_3d[m] = i\n",
    "\n",
    "    return arr_3d\n",
    "\n",
    "def convert_from_color(arr_3d, palette=invert_palette):\n",
    "    \"\"\" RGB-color encoding to grayscale labels \"\"\"\n",
    "    arr_2d = np.zeros((arr_3d.shape[0], arr_3d.shape[1]), dtype=np.uint8)\n",
    "\n",
    "    for c, i in palette.items():\n",
    "        m = np.all(arr_3d == np.array(c).reshape(1, 1, 3), axis=2)\n",
    "        arr_2d[m] = i\n",
    "\n",
    "    return arr_2d\n",
    "\n",
    "# We load one tile from the dataset and we display it\n",
    "img = io.imread('./ISPRS_dataset/Vaihingen/top/top_mosaic_09cm_area11.tif')\n",
    "fig = plt.figure()\n",
    "fig.add_subplot(121)\n",
    "plt.imshow(img)\n",
    "\n",
    "# We load the ground truth\n",
    "gt = io.imread('./ISPRS_dataset/Vaihingen/gts_for_participants/top_mosaic_09cm_area11.tif')\n",
    "fig.add_subplot(122)\n",
    "plt.imshow(gt)\n",
    "plt.show()\n",
    "\n",
    "# We also check that we can convert the ground truth into an array format\n",
    "array_gt = convert_from_color(gt)\n",
    "print(\"Ground truth in numerical format has shape ({},{}) : \\n\".format(*array_gt.shape[:2]), array_gt)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We need to define a bunch of utils functions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Utils\n",
    "\n",
    "def get_random_pos(img, window_shape):\n",
    "    \"\"\" Extract of 2D random patch of shape window_shape in the image \"\"\"\n",
    "    w, h = window_shape\n",
    "    W, H = img.shape[-2:]\n",
    "    x1 = random.randint(0, W - w - 1)\n",
    "    x2 = x1 + w\n",
    "    y1 = random.randint(0, H - h - 1)\n",
    "    y2 = y1 + h\n",
    "    return x1, x2, y1, y2\n",
    "\n",
    "def CrossEntropy2d(input, target, weight=None, size_average=True):\n",
    "    \"\"\" 2D version of the cross entropy loss \"\"\"\n",
    "    dim = input.dim()\n",
    "    if dim == 2:\n",
    "        return F.cross_entropy(input, target, weight, size_average)\n",
    "    elif dim == 4:\n",
    "        output = input.view(input.size(0),input.size(1), -1)\n",
    "        output = torch.transpose(output,1,2).contiguous()\n",
    "        output = output.view(-1,output.size(2))\n",
    "        target = target.view(-1)\n",
    "        return F.cross_entropy(output, target,weight, size_average)\n",
    "    else:\n",
    "        raise ValueError('Expected 2 or 4 dimensions (got {})'.format(dim))\n",
    "\n",
    "def accuracy(input, target):\n",
    "    return 100 * float(np.count_nonzero(input == target)) / target.size\n",
    "\n",
    "def sliding_window(top, step=10, window_size=(20,20)):\n",
    "    \"\"\" Slide a window_shape window across the image with a stride of step \"\"\"\n",
    "    for x in range(0, top.shape[0], step):\n",
    "        if x + window_size[0] > top.shape[0]:\n",
    "            x = top.shape[0] - window_size[0]\n",
    "        for y in range(0, top.shape[1], step):\n",
    "            if y + window_size[1] > top.shape[1]:\n",
    "                y = top.shape[1] - window_size[1]\n",
    "            yield x, y, window_size[0], window_size[1]\n",
    "            \n",
    "def count_sliding_window(top, step=10, window_size=(20,20)):\n",
    "    \"\"\" Count the number of windows in an image \"\"\"\n",
    "    c = 0\n",
    "    for x in range(0, top.shape[0], step):\n",
    "        if x + window_size[0] > top.shape[0]:\n",
    "            x = top.shape[0] - window_size[0]\n",
    "        for y in range(0, top.shape[1], step):\n",
    "            if y + window_size[1] > top.shape[1]:\n",
    "                y = top.shape[1] - window_size[1]\n",
    "            c += 1\n",
    "    return c\n",
    "\n",
    "def grouper(n, iterable):\n",
    "    \"\"\" Browse an iterator by chunk of n elements \"\"\"\n",
    "    it = iter(iterable)\n",
    "    while True:\n",
    "        chunk = tuple(itertools.islice(it, n))\n",
    "        if not chunk:\n",
    "            return\n",
    "        yield chunk\n",
    "\n",
    "def metrics(predictions, gts, label_values=LABELS):\n",
    "    cm = confusion_matrix(\n",
    "            gts,\n",
    "            predictions,\n",
    "            range(len(label_values)))\n",
    "    \n",
    "    print(\"Confusion matrix :\")\n",
    "    print(cm)\n",
    "    \n",
    "    print(\"---\")\n",
    "    \n",
    "    # Compute global accuracy\n",
    "    total = sum(sum(cm))\n",
    "    accuracy = sum([cm[x][x] for x in range(len(cm))])\n",
    "    accuracy *= 100 / float(total)\n",
    "    print(\"{} pixels processed\".format(total))\n",
    "    print(\"Total accuracy : {}%\".format(accuracy))\n",
    "    \n",
    "    print(\"---\")\n",
    "    \n",
    "    # Compute F1 score\n",
    "    F1Score = np.zeros(len(label_values))\n",
    "    for i in range(len(label_values)):\n",
    "        try:\n",
    "            F1Score[i] = 2. * cm[i,i] / (np.sum(cm[i,:]) + np.sum(cm[:,i]))\n",
    "        except:\n",
    "            # Ignore exception if there is no element in class i for test set\n",
    "            pass\n",
    "    print(\"F1Score :\")\n",
    "    for l_id, score in enumerate(F1Score):\n",
    "        print(\"{}: {}\".format(label_values[l_id], score))\n",
    "\n",
    "    print(\"---\")\n",
    "        \n",
    "    # Compute kappa coefficient\n",
    "    total = np.sum(cm)\n",
    "    pa = np.trace(cm) / float(total)\n",
    "    pe = np.sum(np.sum(cm, axis=0) * np.sum(cm, axis=1)) / float(total*total)\n",
    "    kappa = (pa - pe) / (1 - pe);\n",
    "    print(\"Kappa: \" + str(kappa))\n",
    "    return accuracy"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Loading the dataset\n",
    "\n",
    "We define a PyTorch dataset (```torch.utils.data.Dataset```) that loads all the tiles in memory and performs random sampling. Tiles are stored in memory on the fly.\n",
    "\n",
    "The dataset also performs random data augmentation (horizontal and vertical flips) and normalizes the data in [0, 1]."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# Dataset class\n",
    "\n",
    "class ISPRS_dataset(torch.utils.data.Dataset):\n",
    "    def __init__(self, ids, data_files=DATA_FOLDER, label_files=LABEL_FOLDER,\n",
    "                            cache=False, augmentation=True):\n",
    "        super(ISPRS_dataset, self).__init__()\n",
    "        \n",
    "        self.augmentation = augmentation\n",
    "        self.cache = cache\n",
    "        \n",
    "        # List of files\n",
    "        self.data_files = [DATA_FOLDER.format(id) for id in ids]\n",
    "        self.label_files = [LABEL_FOLDER.format(id) for id in ids]\n",
    "\n",
    "        # Sanity check : raise an error if some files do not exist\n",
    "        for f in self.data_files + self.label_files:\n",
    "            if not os.path.isfile(f):\n",
    "                raise KeyError('{} is not a file !'.format(f))\n",
    "        \n",
    "        # Initialize cache dicts\n",
    "        self.data_cache_ = {}\n",
    "        self.label_cache_ = {}\n",
    "            \n",
    "    \n",
    "    def __len__(self):\n",
    "        # Default epoch size is 10 000 samples\n",
    "        return 10000\n",
    "    \n",
    "    @classmethod\n",
    "    def data_augmentation(cls, *arrays, flip=True, mirror=True):\n",
    "        will_flip, will_mirror = False, False\n",
    "        if flip and random.random() < 0.5:\n",
    "            will_flip = True\n",
    "        if mirror and random.random() < 0.5:\n",
    "            will_mirror = True\n",
    "        \n",
    "        results = []\n",
    "        for array in arrays:\n",
    "            if will_flip:\n",
    "                if len(array.shape) == 2:\n",
    "                    array = array[::-1, :]\n",
    "                else:\n",
    "                    array = array[:, ::-1, :]\n",
    "            if will_mirror:\n",
    "                if len(array.shape) == 2:\n",
    "                    array = array[:, ::-1]\n",
    "                else:\n",
    "                    array = array[:, :, ::-1]\n",
    "            results.append(np.copy(array))\n",
    "            \n",
    "        return tuple(results)\n",
    "    \n",
    "    def __getitem__(self, i):\n",
    "        # Pick a random image\n",
    "        random_idx = random.randint(0, len(self.data_files) - 1)\n",
    "        \n",
    "        # If the tile hasn't been loaded yet, put in cache\n",
    "        if random_idx in self.data_cache_.keys():\n",
    "            data = self.data_cache_[random_idx]\n",
    "        else:\n",
    "            # Data is normalized in [0, 1]\n",
    "            data = 1/255 * np.asarray(io.imread(self.data_files[random_idx]).transpose((2,0,1)), dtype='float32')\n",
    "            if self.cache:\n",
    "                self.data_cache_[random_idx] = data\n",
    "            \n",
    "        if random_idx in self.label_cache_.keys():\n",
    "            label = self.label_cache_[random_idx]\n",
    "        else: \n",
    "            # Labels are converted from RGB to their numeric values\n",
    "            label = np.asarray(convert_from_color(io.imread(self.label_files[random_idx])), dtype='int64')\n",
    "            if self.cache:\n",
    "                self.label_cache_[random_idx] = label\n",
    "\n",
    "        # Get a random patch\n",
    "        x1, x2, y1, y2 = get_random_pos(data, WINDOW_SIZE)\n",
    "        data_p = data[:, x1:x2,y1:y2]\n",
    "        label_p = label[x1:x2,y1:y2]\n",
    "        \n",
    "        # Data augmentation\n",
    "        data_p, label_p = self.data_augmentation(data_p, label_p)\n",
    "\n",
    "        # Return the torch.Tensor values\n",
    "        return (torch.from_numpy(data_p),\n",
    "                torch.from_numpy(label_p))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Network definition\n",
    "\n",
    "We can now define the Fully Convolutional network based on the SegNet architecture. We could use any other network as drop-in replacement, provided that the output has dimensions `(N_CLASSES, W, H)` where `W` and `H` are the sliding window dimensions (i.e. the network should preserve the spatial dimensions)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "class SegNet(nn.Module):\n",
    "    # SegNet network\n",
    "    @staticmethod\n",
    "    def weight_init(m):\n",
    "        if isinstance(m, nn.Linear):\n",
    "            torch.nn.init.kaiming_normal(m.weight.data)\n",
    "    \n",
    "    def __init__(self, in_channels=IN_CHANNELS, out_channels=N_CLASSES):\n",
    "        super(SegNet, self).__init__()\n",
    "        self.pool = nn.MaxPool2d(2, return_indices=True)\n",
    "        self.unpool = nn.MaxUnpool2d(2)\n",
    "        \n",
    "        self.conv1_1 = nn.Conv2d(in_channels, 64, 3, padding=1)\n",
    "        self.conv1_1_bn = nn.BatchNorm2d(64)\n",
    "        self.conv1_2 = nn.Conv2d(64, 64, 3, padding=1)\n",
    "        self.conv1_2_bn = nn.BatchNorm2d(64)\n",
    "        \n",
    "        self.conv2_1 = nn.Conv2d(64, 128, 3, padding=1)\n",
    "        self.conv2_1_bn = nn.BatchNorm2d(128)\n",
    "        self.conv2_2 = nn.Conv2d(128, 128, 3, padding=1)\n",
    "        self.conv2_2_bn = nn.BatchNorm2d(128)\n",
    "        \n",
    "        self.conv3_1 = nn.Conv2d(128, 256, 3, padding=1)\n",
    "        self.conv3_1_bn = nn.BatchNorm2d(256)\n",
    "        self.conv3_2 = nn.Conv2d(256, 256, 3, padding=1)\n",
    "        self.conv3_2_bn = nn.BatchNorm2d(256)\n",
    "        self.conv3_3 = nn.Conv2d(256, 256, 3, padding=1)\n",
    "        self.conv3_3_bn = nn.BatchNorm2d(256)\n",
    "        \n",
    "        self.conv4_1 = nn.Conv2d(256, 512, 3, padding=1)\n",
    "        self.conv4_1_bn = nn.BatchNorm2d(512)\n",
    "        self.conv4_2 = nn.Conv2d(512, 512, 3, padding=1)\n",
    "        self.conv4_2_bn = nn.BatchNorm2d(512)\n",
    "        self.conv4_3 = nn.Conv2d(512, 512, 3, padding=1)\n",
    "        self.conv4_3_bn = nn.BatchNorm2d(512)\n",
    "        \n",
    "        self.conv5_1 = nn.Conv2d(512, 512, 3, padding=1)\n",
    "        self.conv5_1_bn = nn.BatchNorm2d(512)\n",
    "        self.conv5_2 = nn.Conv2d(512, 512, 3, padding=1)\n",
    "        self.conv5_2_bn = nn.BatchNorm2d(512)\n",
    "        self.conv5_3 = nn.Conv2d(512, 512, 3, padding=1)\n",
    "        self.conv5_3_bn = nn.BatchNorm2d(512)\n",
    "        \n",
    "        self.conv5_3_D = nn.Conv2d(512, 512, 3, padding=1)\n",
    "        self.conv5_3_D_bn = nn.BatchNorm2d(512)\n",
    "        self.conv5_2_D = nn.Conv2d(512, 512, 3, padding=1)\n",
    "        self.conv5_2_D_bn = nn.BatchNorm2d(512)\n",
    "        self.conv5_1_D = nn.Conv2d(512, 512, 3, padding=1)\n",
    "        self.conv5_1_D_bn = nn.BatchNorm2d(512)\n",
    "        \n",
    "        self.conv4_3_D = nn.Conv2d(512, 512, 3, padding=1)\n",
    "        self.conv4_3_D_bn = nn.BatchNorm2d(512)\n",
    "        self.conv4_2_D = nn.Conv2d(512, 512, 3, padding=1)\n",
    "        self.conv4_2_D_bn = nn.BatchNorm2d(512)\n",
    "        self.conv4_1_D = nn.Conv2d(512, 256, 3, padding=1)\n",
    "        self.conv4_1_D_bn = nn.BatchNorm2d(256)\n",
    "        \n",
    "        self.conv3_3_D = nn.Conv2d(256, 256, 3, padding=1)\n",
    "        self.conv3_3_D_bn = nn.BatchNorm2d(256)\n",
    "        self.conv3_2_D = nn.Conv2d(256, 256, 3, padding=1)\n",
    "        self.conv3_2_D_bn = nn.BatchNorm2d(256)\n",
    "        self.conv3_1_D = nn.Conv2d(256, 128, 3, padding=1)\n",
    "        self.conv3_1_D_bn = nn.BatchNorm2d(128)\n",
    "        \n",
    "        self.conv2_2_D = nn.Conv2d(128, 128, 3, padding=1)\n",
    "        self.conv2_2_D_bn = nn.BatchNorm2d(128)\n",
    "        self.conv2_1_D = nn.Conv2d(128, 64, 3, padding=1)\n",
    "        self.conv2_1_D_bn = nn.BatchNorm2d(64)\n",
    "        \n",
    "        self.conv1_2_D = nn.Conv2d(64, 64, 3, padding=1)\n",
    "        self.conv1_2_D_bn = nn.BatchNorm2d(64)\n",
    "        self.conv1_1_D = nn.Conv2d(64, out_channels, 3, padding=1)\n",
    "        \n",
    "        self.apply(self.weight_init)\n",
    "        \n",
    "    def forward(self, x):\n",
    "        # Encoder block 1\n",
    "        x = self.conv1_1_bn(F.relu(self.conv1_1(x)))\n",
    "        x = self.conv1_2_bn(F.relu(self.conv1_2(x)))\n",
    "        x, mask1 = self.pool(x)\n",
    "        \n",
    "        # Encoder block 2\n",
    "        x = self.conv2_1_bn(F.relu(self.conv2_1(x)))\n",
    "        x = self.conv2_2_bn(F.relu(self.conv2_2(x)))\n",
    "        x, mask2 = self.pool(x)\n",
    "        \n",
    "        # Encoder block 3\n",
    "        x = self.conv3_1_bn(F.relu(self.conv3_1(x)))\n",
    "        x = self.conv3_2_bn(F.relu(self.conv3_2(x)))\n",
    "        x = self.conv3_3_bn(F.relu(self.conv3_3(x)))\n",
    "        x, mask3 = self.pool(x)\n",
    "        \n",
    "        # Encoder block 4\n",
    "        x = self.conv4_1_bn(F.relu(self.conv4_1(x)))\n",
    "        x = self.conv4_2_bn(F.relu(self.conv4_2(x)))\n",
    "        x = self.conv4_3_bn(F.relu(self.conv4_3(x)))\n",
    "        x, mask4 = self.pool(x)\n",
    "        \n",
    "        # Encoder block 5\n",
    "        x = self.conv5_1_bn(F.relu(self.conv5_1(x)))\n",
    "        x = self.conv5_2_bn(F.relu(self.conv5_2(x)))\n",
    "        x = self.conv5_3_bn(F.relu(self.conv5_3(x)))\n",
    "        x, mask5 = self.pool(x)\n",
    "        \n",
    "        # Decoder block 5\n",
    "        x = self.unpool(x, mask5)\n",
    "        x = self.conv5_3_D_bn(F.relu(self.conv5_3_D(x)))\n",
    "        x = self.conv5_2_D_bn(F.relu(self.conv5_2_D(x)))\n",
    "        x = self.conv5_1_D_bn(F.relu(self.conv5_1_D(x)))\n",
    "        \n",
    "        # Decoder block 4\n",
    "        x = self.unpool(x, mask4)\n",
    "        x = self.conv4_3_D_bn(F.relu(self.conv4_3_D(x)))\n",
    "        x = self.conv4_2_D_bn(F.relu(self.conv4_2_D(x)))\n",
    "        x = self.conv4_1_D_bn(F.relu(self.conv4_1_D(x)))\n",
    "        \n",
    "        # Decoder block 3\n",
    "        x = self.unpool(x, mask3)\n",
    "        x = self.conv3_3_D_bn(F.relu(self.conv3_3_D(x)))\n",
    "        x = self.conv3_2_D_bn(F.relu(self.conv3_2_D(x)))\n",
    "        x = self.conv3_1_D_bn(F.relu(self.conv3_1_D(x)))\n",
    "        \n",
    "        # Decoder block 2\n",
    "        x = self.unpool(x, mask2)\n",
    "        x = self.conv2_2_D_bn(F.relu(self.conv2_2_D(x)))\n",
    "        x = self.conv2_1_D_bn(F.relu(self.conv2_1_D(x)))\n",
    "        \n",
    "        # Decoder block 1\n",
    "        x = self.unpool(x, mask1)\n",
    "        x = self.conv1_2_D_bn(F.relu(self.conv1_2_D(x)))\n",
    "        x = F.log_softmax(self.conv1_1_D(x))\n",
    "        return x"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can now instantiate the network using the specified parameters. By default, the weights will be initialized using the [He policy](https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/He_Delving_Deep_into_ICCV_2015_paper.pdf)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# instantiate the network\n",
    "net = SegNet()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We download and load the pre-trained weights from VGG-16 on ImageNet. This step is optional but it makes the network converge faster. We skip the weights from VGG-16 that have no counterpart in SegNet."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mapping features.0.weight to conv1_1.weight\n",
      "Mapping features.0.bias to conv1_1.bias\n",
      "Mapping features.1.weight to conv1_1_bn.weight\n",
      "Mapping features.1.bias to conv1_1_bn.bias\n",
      "Mapping features.1.running_mean to conv1_1_bn.running_mean\n",
      "Mapping features.1.running_var to conv1_1_bn.running_var\n",
      "Mapping features.3.weight to conv1_2.weight\n",
      "Mapping features.3.bias to conv1_2.bias\n",
      "Mapping features.4.weight to conv1_2_bn.weight\n",
      "Mapping features.4.bias to conv1_2_bn.bias\n",
      "Mapping features.4.running_mean to conv1_2_bn.running_mean\n",
      "Mapping features.4.running_var to conv1_2_bn.running_var\n",
      "Mapping features.7.weight to conv2_1.weight\n",
      "Mapping features.7.bias to conv2_1.bias\n",
      "Mapping features.8.weight to conv2_1_bn.weight\n",
      "Mapping features.8.bias to conv2_1_bn.bias\n",
      "Mapping features.8.running_mean to conv2_1_bn.running_mean\n",
      "Mapping features.8.running_var to conv2_1_bn.running_var\n",
      "Mapping features.10.weight to conv2_2.weight\n",
      "Mapping features.10.bias to conv2_2.bias\n",
      "Mapping features.11.weight to conv2_2_bn.weight\n",
      "Mapping features.11.bias to conv2_2_bn.bias\n",
      "Mapping features.11.running_mean to conv2_2_bn.running_mean\n",
      "Mapping features.11.running_var to conv2_2_bn.running_var\n",
      "Mapping features.14.weight to conv3_1.weight\n",
      "Mapping features.14.bias to conv3_1.bias\n",
      "Mapping features.15.weight to conv3_1_bn.weight\n",
      "Mapping features.15.bias to conv3_1_bn.bias\n",
      "Mapping features.15.running_mean to conv3_1_bn.running_mean\n",
      "Mapping features.15.running_var to conv3_1_bn.running_var\n",
      "Mapping features.17.weight to conv3_2.weight\n",
      "Mapping features.17.bias to conv3_2.bias\n",
      "Mapping features.18.weight to conv3_2_bn.weight\n",
      "Mapping features.18.bias to conv3_2_bn.bias\n",
      "Mapping features.18.running_mean to conv3_2_bn.running_mean\n",
      "Mapping features.18.running_var to conv3_2_bn.running_var\n",
      "Mapping features.20.weight to conv3_3.weight\n",
      "Mapping features.20.bias to conv3_3.bias\n",
      "Mapping features.21.weight to conv3_3_bn.weight\n",
      "Mapping features.21.bias to conv3_3_bn.bias\n",
      "Mapping features.21.running_mean to conv3_3_bn.running_mean\n",
      "Mapping features.21.running_var to conv3_3_bn.running_var\n",
      "Mapping features.24.weight to conv4_1.weight\n",
      "Mapping features.24.bias to conv4_1.bias\n",
      "Mapping features.25.weight to conv4_1_bn.weight\n",
      "Mapping features.25.bias to conv4_1_bn.bias\n",
      "Mapping features.25.running_mean to conv4_1_bn.running_mean\n",
      "Mapping features.25.running_var to conv4_1_bn.running_var\n",
      "Mapping features.27.weight to conv4_2.weight\n",
      "Mapping features.27.bias to conv4_2.bias\n",
      "Mapping features.28.weight to conv4_2_bn.weight\n",
      "Mapping features.28.bias to conv4_2_bn.bias\n",
      "Mapping features.28.running_mean to conv4_2_bn.running_mean\n",
      "Mapping features.28.running_var to conv4_2_bn.running_var\n",
      "Mapping features.30.weight to conv4_3.weight\n",
      "Mapping features.30.bias to conv4_3.bias\n",
      "Mapping features.31.weight to conv4_3_bn.weight\n",
      "Mapping features.31.bias to conv4_3_bn.bias\n",
      "Mapping features.31.running_mean to conv4_3_bn.running_mean\n",
      "Mapping features.31.running_var to conv4_3_bn.running_var\n",
      "Mapping features.34.weight to conv5_1.weight\n",
      "Mapping features.34.bias to conv5_1.bias\n",
      "Mapping features.35.weight to conv5_1_bn.weight\n",
      "Mapping features.35.bias to conv5_1_bn.bias\n",
      "Mapping features.35.running_mean to conv5_1_bn.running_mean\n",
      "Mapping features.35.running_var to conv5_1_bn.running_var\n",
      "Mapping features.37.weight to conv5_2.weight\n",
      "Mapping features.37.bias to conv5_2.bias\n",
      "Mapping features.38.weight to conv5_2_bn.weight\n",
      "Mapping features.38.bias to conv5_2_bn.bias\n",
      "Mapping features.38.running_mean to conv5_2_bn.running_mean\n",
      "Mapping features.38.running_var to conv5_2_bn.running_var\n",
      "Mapping features.40.weight to conv5_3.weight\n",
      "Mapping features.40.bias to conv5_3.bias\n",
      "Mapping features.41.weight to conv5_3_bn.weight\n",
      "Mapping features.41.bias to conv5_3_bn.bias\n",
      "Mapping features.41.running_mean to conv5_3_bn.running_mean\n",
      "Mapping features.41.running_var to conv5_3_bn.running_var\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "try:\n",
    "    from urllib.request import URLopener\n",
    "except ImportError:\n",
    "    from urllib import URLopener\n",
    "\n",
    "# Download VGG-16 weights from PyTorch\n",
    "vgg_url = 'https://download.pytorch.org/models/vgg16_bn-6c64b313.pth'\n",
    "if not os.path.isfile('./vgg16_bn-6c64b313.pth'):\n",
    "    weights = URLopener().retrieve(vgg_url, './vgg16_bn-6c64b313.pth')\n",
    "\n",
    "vgg16_weights = torch.load('./vgg16_bn-6c64b313.pth')\n",
    "mapped_weights = {}\n",
    "for k_vgg, k_segnet in zip(vgg16_weights.keys(), net.state_dict().keys()):\n",
    "    if \"features\" in k_vgg:\n",
    "        mapped_weights[k_segnet] = vgg16_weights[k_vgg]\n",
    "        print(\"Mapping {} to {}\".format(k_vgg, k_segnet))\n",
    "        \n",
    "try:\n",
    "    net.load_state_dict(mapped_weights)\n",
    "    print(\"Loaded VGG-16 weights in SegNet !\")\n",
    "except:\n",
    "    # Ignore missing keys\n",
    "    pass"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Then, we load the network on GPU."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "SegNet (\n",
       "  (pool): MaxPool2d (size=(2, 2), stride=(2, 2), dilation=(1, 1))\n",
       "  (unpool): MaxUnpool2d (size=(2, 2), stride=(2, 2), padding=(0, 0))\n",
       "  (conv1_1): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv1_1_bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv1_2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv1_2_bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv2_1): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv2_1_bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv2_2): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv2_2_bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv3_1): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv3_1_bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv3_2): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv3_2_bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv3_3): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv3_3_bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv4_1): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv4_1_bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv4_2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv4_2_bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv4_3): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv4_3_bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv5_1): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv5_1_bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv5_2): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv5_2_bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv5_3): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv5_3_bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv5_3_D): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv5_3_D_bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv5_2_D): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv5_2_D_bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv5_1_D): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv5_1_D_bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv4_3_D): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv4_3_D_bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv4_2_D): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv4_2_D_bn): BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv4_1_D): Conv2d(512, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv4_1_D_bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv3_3_D): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv3_3_D_bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv3_2_D): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv3_2_D_bn): BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv3_1_D): Conv2d(256, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv3_1_D_bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv2_2_D): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv2_2_D_bn): BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv2_1_D): Conv2d(128, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv2_1_D_bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv1_2_D): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       "  (conv1_2_D_bn): BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True)\n",
       "  (conv1_1_D): Conv2d(64, 6, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n",
       ")"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "net.cuda()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Loading the data\n",
    "\n",
    "We now create a train/test split. If you want to use another dataset, you have to adjust the method to collect all filenames. In our case, we specify a fixed train/test split for the demo."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Tiles for training :  ['1', '3', '23', '26', '7', '11', '13', '28', '17', '32', '34', '37']\n",
      "Tiles for testing :  ['5', '21', '15', '30']\n"
     ]
    }
   ],
   "source": [
    "# Load the datasets\n",
    "if DATASET == 'Potsdam':\n",
    "    all_files = sorted(glob(LABEL_FOLDER.replace('{}', '*')))\n",
    "    all_ids = [\"\".join(f.split('')[5:7]) for f in all_files]\n",
    "elif DATASET == 'Vaihingen':\n",
    "    #all_ids = \n",
    "    all_files = sorted(glob(LABEL_FOLDER.replace('{}', '*')))\n",
    "    all_ids = [f.split('area')[-1].split('.')[0] for f in all_files]\n",
    "# Random tile numbers for train/test split\n",
    "train_ids = random.sample(all_ids, 2 * len(all_ids) // 3 + 1)\n",
    "test_ids = list(set(all_ids) - set(train_ids))\n",
    "\n",
    "# Exemple of a train/test split on Vaihingen :\n",
    "train_ids = ['1', '3', '23', '26', '7', '11', '13', '28', '17', '32', '34', '37']\n",
    "test_ids = ['5', '21', '15', '30'] \n",
    "\n",
    "print(\"Tiles for training : \", train_ids)\n",
    "print(\"Tiles for testing : \", test_ids)\n",
    "\n",
    "train_set = ISPRS_dataset(train_ids, cache=CACHE)\n",
    "train_loader = torch.utils.data.DataLoader(train_set,batch_size=BATCH_SIZE)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Designing the optimizer\n",
    "\n",
    "We use the standard Stochastic Gradient Descent algorithm to optimize the network's weights.\n",
    "\n",
    "The encoder is trained at half the learning rate of the decoder, as we rely on the pre-trained VGG-16 weights. We use the ``torch.optim.lr_scheduler`` to reduce the learning rate by 10 after 25, 35 and 45 epochs."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "base_lr = 0.01\n",
    "params_dict = dict(net.named_parameters())\n",
    "params = []\n",
    "for key, value in params_dict.items():\n",
    "    if '_D' in key:\n",
    "        # Decoder weights are trained at the nominal learning rate\n",
    "        params += [{'params':[value],'lr': base_lr}]\n",
    "    else:\n",
    "        # Encoder weights are trained at lr / 2 (we have VGG-16 weights as initialization)\n",
    "        params += [{'params':[value],'lr': base_lr / 2}]\n",
    "\n",
    "optimizer = optim.SGD(net.parameters(), lr=base_lr, momentum=0.9, weight_decay=0.0005)\n",
    "# We define the scheduler\n",
    "scheduler = optim.lr_scheduler.MultiStepLR(optimizer, [25, 35, 45], gamma=0.1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def test(net, test_ids, all=False, stride=WINDOW_SIZE[0], batch_size=BATCH_SIZE, window_size=WINDOW_SIZE):\n",
    "    # Use the network on the test set\n",
    "    test_images = (1 / 255 * np.asarray(io.imread(DATA_FOLDER.format(id)), dtype='float32') for id in test_ids)\n",
    "    test_labels = (np.asarray(io.imread(LABEL_FOLDER.format(id)), dtype='uint8') for id in test_ids)\n",
    "    eroded_labels = (convert_from_color(io.imread(ERODED_FOLDER.format(id))) for id in test_ids)\n",
    "    all_preds = []\n",
    "    all_gts = []\n",
    "    \n",
    "    # Switch the network to inference mode\n",
    "    net.eval()\n",
    "\n",
    "    for img, gt, gt_e in tqdm(zip(test_images, test_labels, eroded_labels), total=len(test_ids), leave=False):\n",
    "        pred = np.zeros(img.shape[:2] + (N_CLASSES,))\n",
    "\n",
    "        total = count_sliding_window(img, step=stride, window_size=window_size) // batch_size\n",
    "        for i, coords in enumerate(tqdm(grouper(batch_size, sliding_window(img, step=stride, window_size=window_size)), total=total, leave=False)):\n",
    "            # Display in progress results\n",
    "            if i > 0 and total > 10 and i % int(10 * total / 100) == 0:\n",
    "                    _pred = np.argmax(pred, axis=-1)\n",
    "                    fig = plt.figure()\n",
    "                    fig.add_subplot(1,3,1)\n",
    "                    plt.imshow(np.asarray(255 * img, dtype='uint8'))\n",
    "                    fig.add_subplot(1,3,2)\n",
    "                    plt.imshow(convert_to_color(_pred))\n",
    "                    fig.add_subplot(1,3,3)\n",
    "                    plt.imshow(gt)\n",
    "                    clear_output()\n",
    "                    plt.show()\n",
    "                    \n",
    "            # Build the tensor\n",
    "            image_patches = [np.copy(img[x:x+w, y:y+h]).transpose((2,0,1)) for x,y,w,h in coords]\n",
    "            image_patches = np.asarray(image_patches)\n",
    "            image_patches = Variable(torch.from_numpy(image_patches).cuda(), volatile=True)\n",
    "            \n",
    "            # Do the inference\n",
    "            outs = net(image_patches)\n",
    "            outs = outs.data.cpu().numpy()\n",
    "            \n",
    "            # Fill in the results array\n",
    "            for out, (x, y, w, h) in zip(outs, coords):\n",
    "                out = out.transpose((1,2,0))\n",
    "                pred[x:x+w, y:y+h] += out\n",
    "            del(outs)\n",
    "\n",
    "        pred = np.argmax(pred, axis=-1)\n",
    "\n",
    "        # Display the result\n",
    "        clear_output()\n",
    "        fig = plt.figure()\n",
    "        fig.add_subplot(1,3,1)\n",
    "        plt.imshow(np.asarray(255 * img, dtype='uint8'))\n",
    "        fig.add_subplot(1,3,2)\n",
    "        plt.imshow(convert_to_color(pred))\n",
    "        fig.add_subplot(1,3,3)\n",
    "        plt.imshow(gt)\n",
    "        plt.show()\n",
    "\n",
    "        all_preds.append(pred)\n",
    "        all_gts.append(gt_e)\n",
    "\n",
    "        clear_output()\n",
    "        # Compute some metrics\n",
    "        metrics(pred.ravel(), gt_e.ravel())\n",
    "        accuracy = metrics(np.concatenate([p.ravel() for p in all_preds]), np.concatenate([p.ravel() for p in all_gts]).ravel())\n",
    "    if all:\n",
    "        return accuracy, all_preds, all_gts\n",
    "    else:\n",
    "        return accuracy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from IPython.display import clear_output\n",
    "\n",
    "def train(net, optimizer, epochs, scheduler=None, weights=WEIGHTS, save_epoch = 5):\n",
    "    losses = np.zeros(1000000)\n",
    "    mean_losses = np.zeros(100000000)\n",
    "    weights = weights.cuda()\n",
    "\n",
    "    criterion = nn.NLLLoss2d(weight=weights)\n",
    "    iter_ = 0\n",
    "    \n",
    "    for e in range(1, epochs + 1):\n",
    "        if scheduler is not None:\n",
    "            scheduler.step()\n",
    "        net.train()\n",
    "        for batch_idx, (data, target) in enumerate(train_loader):\n",
    "            data, target = Variable(data.cuda()), Variable(target.cuda())\n",
    "            optimizer.zero_grad()\n",
    "            output = net(data)\n",
    "            loss = CrossEntropy2d(output, target, weight=weights)\n",
    "            loss.backward()\n",
    "            optimizer.step()\n",
    "            \n",
    "            losses[iter_] = loss.data[0]\n",
    "            mean_losses[iter_] = np.mean(losses[max(0,iter_-100):iter_])\n",
    "            \n",
    "            if iter_ % 100 == 0:\n",
    "                clear_output()\n",
    "                rgb = np.asarray(255 * np.transpose(data.data.cpu().numpy()[0],(1,2,0)), dtype='uint8')\n",
    "                pred = np.argmax(output.data.cpu().numpy()[0], axis=0)\n",
    "                gt = target.data.cpu().numpy()[0]\n",
    "                print('Train (epoch {}/{}) [{}/{} ({:.0f}%)]\\tLoss: {:.6f}\\tAccuracy: {}'.format(\n",
    "                    e, epochs, batch_idx, len(train_loader),\n",
    "                    100. * batch_idx / len(train_loader), loss.data[0], accuracy(pred, gt)))\n",
    "                plt.plot(mean_losses[:iter_]) and plt.show()\n",
    "                fig = plt.figure()\n",
    "                fig.add_subplot(131)\n",
    "                plt.imshow(rgb)\n",
    "                plt.title('RGB')\n",
    "                fig.add_subplot(132)\n",
    "                plt.imshow(convert_to_color(gt))\n",
    "                plt.title('Ground truth')\n",
    "                fig.add_subplot(133)\n",
    "                plt.title('Prediction')\n",
    "                plt.imshow(convert_to_color(pred))\n",
    "                plt.show()\n",
    "            iter_ += 1\n",
    "            \n",
    "            del(data, target, loss)\n",
    "            \n",
    "        if e % save_epoch == 0:\n",
    "            # We validate with the largest possible stride for faster computing\n",
    "            acc = test(net, test_ids, all=False, stride=min(WINDOW_SIZE))\n",
    "            torch.save(net.state_dict(), './segnet256_epoch{}_{}'.format(e, acc))\n",
    "    torch.save(net.state_dict(), './segnet_final')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Training the network\n",
    "\n",
    "Let's train the network for 50 epochs. The `matplotlib` graph is periodically udpated with the loss plot and a sample inference. Depending on your GPU, this might take from a few hours (Titan Pascal) to a full day (old K20)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion matrix :\n",
      "[[1160049   31687   50215   13782    4009    4422]\n",
      " [  56877 1134680    7581    1760       0     635]\n",
      " [  65416   23329  726407  144541      94       0]\n",
      " [   3953     280   43446  927036      19       0]\n",
      " [   4696    1894     865     476   48114       0]\n",
      " [      0       0       0       0       0       0]]\n",
      "---\n",
      "4456263 pixels processed\n",
      "Total accuracy : 89.67796559583668%\n",
      "---\n",
      "F1Score :\n",
      "roads: 0.9080067549718119\n",
      "buildings: 0.9481729570824471\n",
      "low veg.: 0.812399031259279\n",
      "trees: 0.8990185368095973\n",
      "cars: 0.8886877660900805\n",
      "clutter: 0.0\n",
      "---\n",
      "Kappa: 0.862762040724\n",
      "Confusion matrix :\n",
      "[[4409438  148530  158796   61634   11787   14180]\n",
      " [ 247451 5128183   33176    9128    1056    3953]\n",
      " [ 181909   63965 2239648  403998     606   12584]\n",
      " [  45744    7344  340068 3998884     526     194]\n",
      " [  12701    3691     871     827  128932    1655]\n",
      " [     20     178    5820       0     198       0]]\n",
      "---\n",
      "17677675 pixels processed\n",
      "Total accuracy : 89.97271982882364%\n",
      "---\n",
      "F1Score :\n",
      "roads: 0.909009910501619\n",
      "buildings: 0.9518812254996316\n",
      "low veg.: 0.7884572834539293\n",
      "trees: 0.9019465039311596\n",
      "cars: 0.8837556806108671\n",
      "clutter: 0.0\n",
      "---\n",
      "Kappa: 0.865054787825\n",
      "\r"
     ]
    }
   ],
   "source": [
    "train(net, optimizer, 50, scheduler)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Testing the network\n",
    "\n",
    "Now that the training has ended, we can load the final weights and test the network using a reasonable stride, e.g. half or a quarter of the window size. Inference time depends on the chosen stride, e.g. a step size of 32 (75% overlap) will take ~15 minutes, but no overlap will take only one minute or two."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "net.load_state_dict(torch.load('./segnet_final'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Confusion matrix :\n",
      "[[1176243   27917   40719   12367    3237    3681]\n",
      " [  43457 1148303    7376    1855       0     542]\n",
      " [  59760   19017  745166  135844       0       0]\n",
      " [   3575     254   41492  929409       4       0]\n",
      " [   4856    1464     253     326   49146       0]\n",
      " [      0       0       0       0       0       0]]\n",
      "---\n",
      "4456263 pixels processed\n",
      "Total accuracy : 90.84443624624488%\n",
      "---\n",
      "F1Score :\n",
      "roads: 0.9218006665216855\n",
      "buildings: 0.9575224057823095\n",
      "low veg.: 0.8303642815633892\n",
      "trees: 0.9047390285393045\n",
      "cars: 0.9064851704293936\n",
      "clutter: 0.0\n",
      "---\n",
      "Kappa: 0.878264212814\n",
      "Confusion matrix :\n",
      "[[4444836  133148  145598   59877    8599   12307]\n",
      " [ 251606 5128036   28565   10388     735    3617]\n",
      " [ 169340   58698 2272628  393683     171    8190]\n",
      " [  40707    7712  327441 4016691     209       0]\n",
      " [  12351    2995     253     628  130669    1781]\n",
      " [      0       0    6216       0       0       0]]\n",
      "---\n",
      "17677675 pixels processed\n",
      "Total accuracy : 90.46925005692208%\n",
      "---\n",
      "F1Score :\n",
      "roads: 0.9142738428326874\n",
      "buildings: 0.953739495548255\n",
      "low veg.: 0.7997408598463142\n",
      "trees: 0.9052690509055247\n",
      "cars: 0.9040960354251713\n",
      "clutter: 0.0\n",
      "---\n",
      "Kappa: 0.871723577303\n",
      "\r"
     ]
    }
   ],
   "source": [
    "_, all_preds, all_gts = test(net, test_ids, all=True, stride=32)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Saving the results\n",
    "\n",
    "We can visualize and save the resulting tiles for qualitative assessment."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f6bd3235668>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\ngg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f6bded215f8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nukSN81sEAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f6bdecaf0f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\niRXEzJI1AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f6b9bd70278>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "for p, id_ in zip(all_preds, test_ids):\n",
    "    img = convert_to_color(p)\n",
    "    plt.imshow(img) and plt.show()\n",
    "    io.imsave('./inference_tile_{}.png'.format(id_), img)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
